package com.shm.shenzhou;


import java.util.*;

/**
 * @author: shm
 * @dateTime: 2020/9/22 20:18
 * @description: 有一个N个数的数组，想将数组从小到大 排好序，但是只会下面这个操作：
 * 任取数组中的一个数然后将它放置在数组的最后一个位置。
 * 问最少操作多少次可以使得数组从小到大有序？
 */
public class Solution {
    /**
     * 
     * @param inData string字符串 请求参数
     * @return int整型
     */
    public static int sort (String inData) {
        // write code here
        String[] s = inData.split(" ");
        int[] ints = new int[s.length];
        HashMap<Integer,Integer> map = new HashMap();
        for (int i = 0; i < s.length; i++) {
            ints[i] = Integer.parseInt(s[i]);
            map.put(ints[i],i);
        }

        Arrays.sort(ints);
        int index = map.size(),count=0;
        for (int i = 0; i < map.size()-1; i++) {
            if (map.get(ints[i])>map.get(ints[i+1])){
                map.put(ints[i+1],index++);
                    count++;
            }
        }
        return count;
    }

    /**
     * @author: shm
     * @dateTime: 2020/9/22 20:21
     * @description: 复杂度 nlogn 但是需要一个 n 的辅助数组
     * 用一个辅助数组对所有元素进行排序，从小到大排序
     * 从第一个排好序的元素开始，即最小的元素开始与没排好序数组元素比较，
     * 检查有多少个已经是从最小到大好序的，位置可以不连续，但是大的元素必须在小的元素后面，
     * 统计出一共有 count个，这些元素是不需要移动的元素
     *  一共有 n 个元素，所以需要移动 n - count 次
     * 输入为 19  7  8  25  ，用 arr1表示
     * 排序后 7  8  19  25  ，用 arr2 表示
     * 都从数组第一个元素开始 ： 7 和  19 比较 ，7 < 19 ,
     * 继续看arr1 的下一个元素 跟 arr2 的第一个元素 7 比较，此时 7 = 7  所以count++ ，
     * 看两个数组后面的元素 ，都是 8 ，此时 count++ ，继续看 25 > 19 ，到此结束。
     * 所以count = 2 。
     */
    public static int sort_2 (String inData) {
        String[] s = inData.split(" ");
        int n = s.length;
        int[] arr = new int[n];
        int[] sortArr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = Integer.parseInt(s[i]);
            sortArr[i] = arr[i];
        }
        Arrays.sort(sortArr);
        int count = 0;
        int j = 0;
        for (int i = 0; i < n; i++) {
            if(arr[i] == sortArr[j]){
                ++count;
                ++j;
            }
        }
        return n-count;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int i = sort_2(s);
        System.out.println(i);
    }
}